<?php

/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

/**
 * Description of Egresos
 *
 * @author Ivan
 */
class egresos extends CI_Model{
    //put your code here
    var $id;
    var $fecha;
    var $descripcion;
    var $referencia;
    var $monto;
    var $anulado;
    var $fecha_usuario;
    var $id_usuario;
    var $id_tipo_egreso;
    
function __construct()
    {
        parent::__construct();
    }
    
    function nuevo()
    {
        $this->id = $_POST['id'];
        $this->fecha = $_POST['fecha'];
        $this->descripcion = $_POST['descripcion'];
        $this->referencia = $_POST['referencia']; 
        $this->monto =str_replace (",",".",$_POST['monto']) ; 
        $this->anulado = 0; 
        $this->fecha_usuario= date('Y-m-d H:i:s');
        $this->id_usuario = $this->session->userdata('usuario'); 
        $this->id_tipo_egreso = $_POST['id_tipo_egreso']; 
        
        $this->db->trans_start();
        $this->db->insert('t_egresos', $this);   
        $this->db->trans_complete(); 
        if($this->db->trans_status() == FALSE)
        {
            show_error('Error en la insercion. CODIGO: ' . $this->db->_error_message());
        }else{
            header('Location: ' . base_url() . 'cegreso/consultar'); 
        }
    }
    
    
    function listarTodos()
    {
        $this->db->select('t_egresos.id,t_egresos.referencia,t_egresos.fecha,t_egresos.descripcion, t_egresos.monto, t_egresos.id_tipo_egreso,t_tipo_egresos.nombre as tipo');
        $this->db->from('t_egresos');
        $this->db->join('t_tipo_egresos', 't_egresos.id_tipo_egreso = t_tipo_egresos.id');
        $this->db->where('t_egresos.anulado',0);
        $this->db->order_by("fecha",'ASC');
        $query = $this->db->get();
        return $query->result();
    }
    
     function getEgreso($id){
        $egreso = $this->db->get_where('t_egresos', array('id'=> $id));
        return $egreso->first_row();
                
    }
    
    
    function modificar($id){
       
        
            $datos = array(
                'fecha' =>$_POST['fecha'],
                'descripcion' => $_POST['descripcion'],
                'referencia'  => $_POST['referencia'],
                'monto' =>str_replace (",",".",$_POST['monto']) ,
                'fecha_usuario'=> date('Y-m-d H:i:s'),
                'id_tipo_egreso'  => $_POST['id_tipo_egreso'],
                'id_usuario' => $this->session->userdata('usuario')
            );
            
            $this->db->trans_start();
            $this->db->where('id',$id);
            $this->db->update('t_egresos',$datos);
            $this->db->trans_complete(); 
            if($this->db->trans_status() == FALSE)
            {
                show_error('Error en la insercion. CODIGO: ' . $this->db->_error_message());
            }else{
                header('Location: ' . base_url() . 'cegreso/consultar'); 
            }    
        
    }
    
    function eliminar($id)
    {
        $this->db->trans_start();
        $this->db->where('id',$id);
        $datos = array('anulado'=>1);
        $this->db->update('t_egresos',$datos);
        $this->db->trans_complete(); 
        if($this->db->trans_status() == FALSE)
        {
            show_error('Error de baja. CODIGO: ' . $this->db->_error_message());
        }else{
            header('Location: ' . base_url() . 'cegreso/consultar'); 
        }
    }
    
    function get_data_pdf(){ 
        $result= $this->db-> get_where('t_egresos', array('anulado'=> 0));
        $arrDatos=array(); 
        foreach ($result->result_array() as $row){ 
            $arrDatos[] = array( htmlspecialchars($row['id'],ENT_QUOTES), htmlspecialchars($row['fecha'],ENT_QUOTES),htmlspecialchars($row['descripcion'],ENT_QUOTES),htmlspecialchars($row['referencia'],ENT_QUOTES),htmlspecialchars($row['monto'],ENT_QUOTES), ); 
            
        } 
        $result->free_result(); 
        $this->db->close(); 
        return($arrDatos);
     }
     
     function buscarEgresos($mostrar,$todos,$tipo="",$referencia="",$desde="",$hasta="", $limite,$principio)
    { 
           $this->db->select($mostrar);
           $this->db->from('t_egresos');
           $this->db->join('t_tipo_egresos', 't_egresos.id_tipo_egreso = t_tipo_egresos.id');
           $this->db->order_by("fecha",'ASC');
           if($todos == 1)
           {
               $this->db->where('anulado',0,$limite,$principio);
           }else
           {
               $this->db->where('anulado',0,$limite,$principio);
                if($referencia!=""){
                   $this->db->like('referencia',rtrim($referencia),$limite,$principio); 
                }
                if($tipo!=""){
                    $this->db->like('t_tipo_egresos.nombre',rtrim($tipo),$limite,$principio);
                }
                if($desde!="" and $hasta!=""){
                    $this->db->where('fecha >=',$desde,$limite,$principio);
                    $this->db->where('fecha <=',$hasta,$limite,$principio);
                }
               
           }    
        $egresos = $this->db->get();
        return $egresos ->result();
        
    }
    
}
?>